SQL DEFAULT Constraint क्या हैं?
डिफ़ॉल्ट नियंत्रण का उपयोग किसी कॉलम के लिए डिफ़ॉल्ट मान सेट करने के लिए किया जाता है।
यदि कोई अन्य मान निर्दिष्ट नहीं है, तो डिफ़ॉल्ट मान सभी नए रिकॉर्ड में जोड़ दिया जाता है।
महत्वपूर्ण नोट:
डिफ़ॉल्ट नियंत्रण डेटा प्रविष्टि को सरल बनाता है क्योंकि यह स्वचालित रूप से आमतौर पर उपयोग किए जाने वाले मान निर्दिष्ट करता है और उपयोगकर्ताओं को हर तरह से मान दर्ज करने की आवश्यकता नहीं होती है।
तालिका बनाने में SQL डिफ़ॉल्ट
"व्यक्ति" तालिका बनाते समय "शहर" कॉलम के लिए डिफ़ॉल्ट मान सेट करने के लिए निम्नलिखित SQL का उपयोग किया जाता है:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
City varchar(255) DEFAULT 'Sandnes'
);
सिस्टम मान सम्मिलित करने के लिए डिफ़ॉल्ट नियंत्रण का उपयोग करना
डिफ़ॉल्ट नियंत्रण का उपयोग GETDATE() जैसे फ़ंक्शंस का उपयोग करके सिस्टम मान सम्मिलित करने के लिए किया जा सकता है:
वर्तमान दिनांक को डिफ़ॉल्ट के रूप में सेट करना:
CREATE TABLE Orders (
ID int NOT NULL,
OrderNumber int NOT NULL,
OrderDate date DEFAULT GETDATE()
);
नोट:
GETDATE() फ़ंक्शन वर्तमान दिनांक और समय लौटाता है। जब कोई नया ऑर्डर जोड़ा जाता है, तो ऑर्डरडेट स्वचालित रूप से वर्तमान तिथि से भर जाती है।
परिवर्तन तालिका में SQL डिफ़ॉल्ट
तालिका पहले ही बन जाने के बाद "शहर" कॉलम पर एक डिफ़ॉल्ट नियंत्रण बनाने के लिए निम्नलिखित SQL का उपयोग करें:
MySQL:
ALTER TABLE Persons
ALTER City SET DEFAULT 'Sandnes';
SQL Server:
ALTER TABLE Persons
ADD CONSTRAINT df_City
DEFAULT 'Sandnes' FOR City;
Oracle:
ALTER TABLE Persons
MODIFY City DEFAULT 'Sandnes';
नोट:
विभिन्न डेटाबेस सिस्टम में डिफ़ॉल्ट बाधाओं को जोड़ने और बदलने के लिए अलग-अलग सिंटैक्स होते हैं। अपने विशेष डेटाबेस सिस्टम के लिए उचित सिंटैक्स का उपयोग करना सुनिश्चित करें।
डिफ़ॉल्ट नियंत्रण हटा रहा है
डिफ़ॉल्ट नियंत्रण को हटाने के लिए, निम्न SQL का उपयोग करें:
MySQL:
ALTER TABLE Persons
ALTER City DROP DEFAULT;
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ALTER COLUMN City DROP DEFAULT;
डिफ़ॉल्ट नियंत्रण के लाभ
स्वचालित मान
- डेटा प्रविष्टि की सुविधा प्रदान करता है
- सामान्य मान स्वचालित रूप से लौटाता है
- उपयोगकर्ता इनपुट की आवश्यकता कम कर देता है
सिस्टम मान
- स्वचालित रूप से वर्तमान दिनांक/समय निर्धारित करता है
- कंप्यूटर जनित मान लौटाता है
- सटीक टाइमस्टैम्प सुनिश्चित करता है
आंकड़ा शुचिता
- स्थिर डिफ़ॉल्ट मान लौटाता है
- डेटा की एकरूपता बनाए रखता है
- गलत डेटा प्रविष्टि को कम करता है
शैली के उदाहरण
देश और राज्य
डिफ़ॉल्ट देश और सक्रिय राज्य
CREATE TABLE Users (
UserID int PRIMARY KEY,
Country varchar(50) DEFAULT 'India',
Status varchar(20) DEFAULT 'Active',
CreatedDate datetime DEFAULT GETDATE()
);
ऑर्डर और स्टॉक
डिफ़ॉल्ट ऑर्डर स्तर और स्टॉक मात्रा
CREATE TABLE Products (
ProductID int PRIMARY KEY,
StockQuantity int DEFAULT 0,
IsAvailable bit DEFAULT 1,
LastRestocked date DEFAULT GETDATE()
);
उपयोगकर्ता सेटिंग्स
डिफ़ॉल्ट उपयोगकर्ता विकल्प
CREATE TABLE UserSettings (
SettingID int PRIMARY KEY,
Theme varchar(20) DEFAULT 'Light',
Language varchar(10) DEFAULT 'Hindi',
NotificationsEnabled bit DEFAULT 1
);
सिस्टम फ़ंक्शंस के साथ डिफ़ॉल्ट
वर्तमान दिनांक और समय
-- SQL Server
CreatedDate datetime DEFAULT GETDATE()
-- MySQL
CreatedDate datetime DEFAULT CURRENT_TIMESTAMP
-- Oracle
CreatedDate DATE DEFAULT SYSDATE
तात्कालिक प्रयोगकर्ता
-- SQL Server
CreatedBy varchar(50) DEFAULT USER_NAME()
-- MySQL
CreatedBy varchar(50) DEFAULT USER()
-- Oracle
CreatedBy varchar(50) DEFAULT USER
गणितीय मूल्य
-- Default tax rate
TaxRate decimal(5,2) DEFAULT 0.18
-- Default discount
Discount decimal(5,2) DEFAULT 0.00
-- Default quantity
Quantity int DEFAULT 1